package com.pzhu.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import sun.security.util.Password;

import javax.sql.DataSource;

/**
 * @author Yancy xiao
 * @create 2023-04-17 11:12
 */
public class JdbcConfig {
    @Value("${jdbc.driver}")
    private String drive;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
//        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
//        dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/ssm?characterEncoding=utf8");
//        dataSource.setUsername("root");
//        dataSource.setPassword("1234");

        //注入赋值
        dataSource.setDriverClassName(drive);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
}
/*这段代码是一个Java配置类，用于配置JDBC数据源。在Spring框架中，
使用Java配置类可以代替XML配置文件，更加方便和灵活。

@Bean注解表示该方法返回一个Bean对象，该对象会被Spring容器管理。
在这个例子中，返回的是一个DruidDataSource对象，即一个Druid连接池数据源。

DruidDataSource是阿里巴巴开源的一个高性能、可扩展、可监控的JDBC
连接池。它支持MySQL、Oracle、SQL Server等多种数据库，并提供了丰富的监控和统计功能。

在dataSource()方法中，设置了连接池的相关属性，包括数据库驱动、数
据库URL、用户名和密码。这里使用的是MySQL数据库，数据库名为mybatis
，用户名为root，密码为1234。

最后，将DruidDataSource对象返回，作为数据源供其他组件使用。*/